package com.spic.business.vehicle.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.spic.common.core.annotation.Excel;
import com.spic.common.core.web.domain.BaseEntity;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * 车辆管理对象 vehicle_management
 * 
 * @author spic
 * @date 2022-07-17
 */
@Data
public class VehicleManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long clientid;

    /** 车牌号 */
    @Excel(name = "车牌号")
    @NotBlank(message = "车牌号不能为空")
    private String plateno;

    /** 人员id(非必填) */
    private String personid;

    /** 车牌类型 */
    @Excel(name = "车牌类型")
    private String platetype;

    @Excel(name = "车辆所属单位")
    private String unit;

    @Excel(name = "姓名")
    @NotBlank(message = "驾驶员姓名不能为空")
    private String driverName;

    @Excel(name = "身份证号")
    @NotBlank(message = "驾驶员身份证号不能为空")
    private String idNumber;

    /** 车牌颜色 */
    @Excel(name = "车牌颜色")
    private String platecolor;

    /** 车辆类型 */
    @Excel(name = "车辆类型")
    private String vehicletype;

    /** 车辆颜色 */
    @Excel(name = "车辆颜色")
    private String vehiclecolor;

    /** 车辆描述 */
    @Excel(name = "车辆描述")
    private String description;

    /** 0有效,1删除 */
    private String state;

    /** $column.columnComment */
    private String synchik;

    //是否布控
    private String alarmcar;

    //布控车辆id
    private String alarmsyscode;

    //海康车辆id
    private String vehicleid;

    @NotNull(message = "车辆管理部门不能为空")
    private Long  manageDept;

    /** 车辆管理部门及其下属部门 */
    @TableField(exist = false)
    private List<Long> manageDepts;
    private String hasManageDept;

    private String parkIndexCode;

    //油耗
    private String fuelConsumption;
    private String distanceTotal;
    private String longitude;
    private String latitude;


    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date endTime;

    private String clientIds;

}
